草庐IT

Java jackson org.codehaus.jackson.map.exc.UnrecognizedPropertyException

全部标签

java - 是否有任何 jackson json 策略(使用注释或其他方式)将在字段反序列化之前和之后执行一些逻辑?

每次对POJO的字段进行反序列化后,我需要执行一些代码。有什么办法可以通过一些jackson注释(或其他)策略来做到这一点?解决此问题的一种方法是为每个字段类型创建一个自定义反序列化器,该反序列化器将实现PostLogicDeserializerInterface或扩展一些PostLogicDeserializerAbstract。但这会产生大量难以维护的困惑代码(而不是仅仅使用@JsonProperty)。所以我认为这不是一个好主意。我看到您可以在类级别使用@JsonDeserialize,但只能用于值类。来自文档:Whenannotatingvalueclasses,configu

java - 具有自动过期元素的 map

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion我需要一个Map(或任何集合)支持条目的空闲时间并自动删除它们。我知道有guavaMapMaker,但它会在后续的读/写操作中使其元素过期,而不是通过正在运行的线程自动过期。此外,MapMaker的过期功能现已移至CacheBuilde

java - 将 Map<Enum, Enum> 存储为字符串

我需要有关在JPA2中存储映射的帮助,其中键和值都是枚举(Map)。使用Hibernate作为我的JPA提供程序,它将枚举存储为blob,但我需要将数据存储为字符串。我尝试了以下注释来解决这个问题:@ElementCollection(fetch=FetchType.EAGER)@MapKeyEnumerated(value=EnumType.STRING)publicMapgetElementsMap(){returnelementsMap;}但是数据仍然作为blob存储在数据库中。有人解决过这个问题吗? 最佳答案 @Enumer

java - 将不带引号的json字符串转换为 map

我有一个Json格式的字符串,只是没有任何键或值被引号括起来。例如,我有这个:Stringjson="{name:Bob,state:Colorado,Friends:[{name:Dan,age:23},{name:Zane,age:24}]}"我希望它成为一张看起来像这样的map:Mapfriend1Map=newHashMap();friend1Map.put("name","Dan");friend1Map.put("age",23);Mapfriend2Map=newHashmap();friend2Map.put("name","Zane");friend2Map.put(

java - 需要 map 验证路径框架的建议

我遇到的问题如下:给定两个定义迷宫边界的多边形和中间的一条路径(见下图),我想知道我何时穿过迷宫的边界。关于我的输入:一个文件定义了两个多边形的边(只有那些点连接直线)一个文件,包含我访问过的所有航路点,按出现顺序排列我需要根据在禁区内花费的时间计算该路径的分数。最好的方法是什么?(算法/技术/库)我没有技术限制,所以解决方案可以是任何东西,例如Java、C、Perl(这是我最喜欢的)等我开始研究解决方案,但后来我意识到这个问题在过去一定已经解决了数百万次,没有理由“重新发明轮子”:)我是地理/几何类问题的新手,非常感谢任何关于我应该采用哪种方法的建议。干杯

java - IntelliJ 不接受 Java8 和 List/Map 末尾的菱形

我使用的是最新的JDK,从项目创建到现在所有内容都设置为Java8或SDK8。仍然,intelliJ给我这个问题:红灯告诉我换Java7。这是我的项目设置:这是模块部分:如你所见;报错的时候特意把SDK默认的改成了java8,但是没有结果。编译器设置如下所示:我在macbook上,intelliJ是社区版本。有谁知道为什么会这样以及我如何解决它? 最佳答案 尝试运行该项目,如果这是您的错误消息:然后我建议您稍微查看一下您的pom文件。这个项目是使用intelliJmaven项目设置构建的,它缺少这行可爱的代码:org.apache.

java - 使用 Java 8 Streams 根据常见条件从两个不同列表创建 map

我有两个这样的列表实例:ListnameAndAgeList=newArrayList();nameAndAgeList.add(newNameAndAge("John","28"));nameAndAgeList.add(newNameAndAge("Paul","30"));nameAndAgeList.add(newNameAndAge("Adam","31"));ListnameAndSalaryList=newArrayList();nameAndSalaryList.add(newNameAndSalary("John",1000));nameAndSalaryList.a

java - 使用 Jackson 创建平面对象形式的嵌套 json

我知道Jackson允许使用@JsonUnwrapped创建平面json,这样类的对象就像publicclassPerson{publicintage;@JsonUnwrappedpublicNamename;publicclassName{publicStringfirst,last;}}会被序列化为{"age":99,"first":"Name","last":"Surname"}但是,我找不到相反的方法-有一个类似的类publicclassPerson{publicintage;publicStringfirstName,lastName;}并将其对象序列化和反序列化{"age"

java - 使用hamcrest匹配Map包含不同类型的条目

假设我有一张map:Mapmap1=newHashMap();map1.put("foo1","foo1");map1.put("foo2",Arrays.asList("foo2","bar2"));现在我想使用Hamcrest匹配器来验证map的值。如果这是一个Map我会做类似的事情:assertThat(map1,hasEntry("foo1","foo1"));但是,当我尝试将其与Map一起使用时,我遇到了困难,因为Map中的条目可能是字符串或值列表。这适用于第一个条目:assertThat(map1,hasEntry("foo1",(Object)"foo1"));对于第二个

java - 自定义 Jackson ObjectMapper 以读取自定义注释并屏蔽带注释的字段

我有一个要求,我已经创建了一个自定义注释@MaskSensitiveData。我注释敏感字段。喜欢classMyBean{StringuserName;@MaskSensitiveDataStringcardNumber;Stringabc;Stringxyz;}ObjectMappermapper=newObjectMapper();Stringjson=null;AnnotationIntrospectorprimary=newJaxbAnnotationIntrospector();AnnotationIntrospectorsecondary=newJacksonAnnotat